home *** CD-ROM | disk | FTP | other *** search
- TABLE OF CONTENTS
-
- parallel.device/CMD_CLEAR
- parallel.device/CMD_FLUSH
- parallel.device/CMD_READ
- parallel.device/CMD_RESET
- parallel.device/CMD_START
- parallel.device/CMD_STOP
- parallel.device/CMD_WRITE
- parallel.device/OpenDevice
- parallel.device/PDCMD_QUERY
- parallel.device/PDCMD_SETPARAMS
- parallel.device/CMD_CLEAR parallel.device/CMD_CLEAR
-
- NAME
- Clear -- clear the parallel port buffer
-
- FUNCTION
- This command just RTS's (no buffer to clear)
-
- IO REQUEST
- io_Message mn_ReplyPort initialized
- io_Device set by OpenDevice
- io_Unit set by OpenDevice
- io_Command CMD_CLEAR (05)
-
- parallel.device/CMD_FLUSH parallel.device/CMD_FLUSH
-
- NAME
- Flush -- clear all queued I/O requests for the parallel port
-
- FUNCTION
- This command purges the read and write request queues for the
- parallel device. The currently active request is not purged.
-
- IO REQUEST
- io_Message mn_ReplyPort initialized
- io_Device set by OpenDevice
- io_Unit set by OpenDevice
- io_Command CMD_FLUSH (08)
-
- parallel.device/CMD_READ parallel.device/CMD_READ
-
- NAME
- Read -- read input from parallel port
-
- FUNCTION
- This command causes a stream of characters to be read from the
- parallel I/O register. The number of characters is specified in
- io_Length. The EOF and EOL modes are supported, but be warned that
- using these modes can result in a buffer overflow if the proper
- EOL or EOF character is not received in time. These modes should
- be used only when the sender and receiver have been designed to
- cooperate. A safety guard can be implemented to EOF by setting
- io_Length to a maximum allowed value. That cannot be done with EOL
- since the EOL mode is identified by io_Length=-1.
-
- The parallel.device has no internal buffer; if no read request has
- been made, pending input (i.e. handshake request) is not
- acknowledged.
-
- IO REQUEST
- io_Message mn_ReplyPort initialized
- io_Device set by OpenDevice
- io_Unit set by OpenDevice
- io_Command CMD_READ (02)
- io_Flags If IOF_QUICK is set, driver will attempt Quick IO
- io_Length number of characters to receive.
- io_Data pointer where to put the data.
-
- RESULTS
- io_Error -- if the Read succeded, then io_Error will be null.
- If the Read failed, then io_Error will contain an error code.
-
- SEE ALSO
- parallel.device/PDCMD_SETPARAMS
-
- parallel.device/CMD_RESET parallel.device/CMD_RESET
-
- NAME
- Reset -- reinitializes the parallel device
-
- FUNCTION
- This command resets the parallel device to its freshly initialized
- condition. It aborts all I/O requests both queued and current and
- sets the devices's flags and parameters to their boot-up time
- default values. At boot-up time the PTermArray is random, and it
- will be so also here.
-
- IO REQUEST
- io_Message mn_ReplyPort initialized
- io_Device set by OpenDevice
- io_Unit set by OpenDevice
- io_Command CMD_RESET (01)
-
- RESULTS
- Error -- if the Reset succeded, then io_Error will be null.
- if the Reset failed, then the io_Error will be non-zero.
-
- parallel.device/CMD_START parallel.device/CMD_START
-
- NAME
- Start -- restart paused I/O over the parallel port
-
- FUNCTION
- This command restarts the current I/O activity on the parallel
- port by reactivating the handshaking sequence.
-
- IO REQUEST
- io_Message mn_ReplyPort initialized
- io_Device set by OpenDevice
- io_Unit set by OpenDevice
- io_Command CMD_START (07)
-
- SEE ALSO
- parallel.device/CMD_STOP
-
- parallel.device/CMD_STOP parallel.device/CMD_STOP
-
- NAME
- Stop -- pause current activity on the parallel device
-
- FUNCTION
- This command halts the current I/O activity on the parallel
- device by discontinuing the handshaking sequence. The stop and
- start commands may not be nested.
-
- IO REQUEST
- io_Message mn_ReplyPort initialized
- io_Device set by OpenDevice
- io_Unit set by OpenDevice
- io_Command CMD_STOP (06)
-
- SEE ALSO
- parallel.device/CMD_START
-
- parallel.device/CMD_WRITE parallel.device/CMD_WRITE
-
- NAME
- Write -- send output to parallel port
-
- FUNCTION
- This command causes a stream of characters to be written to the
- parallel output register. The number of characters is specified in
- io_Length, unless -1 is used, in which case output is sent until
- a zero byte occurs in the data. This is independent of, and may be
- used simultaneously with setting the EOFMODE in io_ParFlags and using
- the PTermArray to terminate the read or write.
-
- IO REQUEST
- io_Message mn_ReplyPort initialized
- io_Device set by OpenDevice
- io_Unit set by OpenDevice
- io_Command CMD_WRITE (03)
- io_Flags If IOF_QUICK is set, driver will attempt Quick IO
- io_Length number of characters to transmit, or if set
- to -1 send until zero byte encountered
- io_Data pointer to block of data to transmit
-
- RESULTS
- io_Error -- If the Write succeded, then io_Error will be null.
- If the Write failed, then io_Error will contain an error code.
-
- SEE ALSO
- parallel.device/PDCMD_SETPARAMS
-
- parallel.device/OpenDevice parallel.device/OpenDevice
-
- NAME
- Open -- a request to open the parallel port
-
- SYNOPSIS
- error = OpenDevice("parallel.device", unit, ioExtPar, flags)
- D0 A0 D0 A1 D1
-
- FUNCTION
- This function allows the requestor software access to the parallel
- device. Unless the shared-access bit (bit 5 of io_ParFlags) is
- set, exclusive use is granted and no other access is allowed
- until the owner closes the device.
-
- A FAST_MODE, can be specified (bit 3 of io_Parflags) to speed up
- transfers to high-speed printers. Rather than waiting for the printer
- to acknowledge a character using the *ACK interrupt, this mode will
- send out data as long as the BUSY signal is low. The printer must be
- able to raise the BUSY signal within 3 micro-seconds on A2630s,
- otherwise data will be lost. Should be used only in an exclusive-
- access Open().
-
- A SLOWMODE mode can be specified (bit 4 of io_ParFlags) when very
- slow printers are used. If the printer acknowledges data at less
- than 5000 bytes per second, then this mode will actually save CPU
- time, although it consumes much more with high-speed printers.
-
- The PTermArray of the ioExtPar is initialized only if the EOFMODE
- bit (bit 1 of io_ParFlags) is set. The PTermArray can be further
- modified using the PDCMD_SETPARAMS command.
-
- INPUTS
- "parallel.device" - a pointer to literal string "parallel.device"
- unit - Must be zero for future compatibility
- ioExtPar - pointer to an IO Request block of structure IOExtPar to
- be initialized by the Open() function. The io_ParFlags
- field must be set as desired.
- flags - Must be zero for future compatibility
-
- RESULTS
- d0 -- same as io_Error
- io_Error -- if the Open succeded, then io_Error will be null.
- If the Open failed, then io_Error will be non-zero.
-
- SEE ALSO
- exec/CloseDevice
-
- parallel.device/PDCMD_QUERY parallel.device/PDCMD_QUERY
-
- NAME
- Query -- query parallel port/line status
-
- FUNCTION
- This command return the status of the parallel port lines and
- registers.
-
- IO REQUEST
- io_Message must have mn_ReplyPort initialized
- io_Device set by OpenDevice
- io_Unit set by OpenDevice
- io_Command PDCMD_QUERY (09)
-
- RESULTS
- io_Status BIT ACTIVE FUNCTION
-
- 0 high printer busy toggle (offline)
- 1 high paper out
- 2 high printer selected on the A1000
- printer selected & serial "Ring
- Indicator" on the A500/A2000
- Use care when making cables.
- 3 - read=0,write=1
- 4-7 reserved
-
- BUGS
- In a earlier version of this AutoDoc, BUSY and PSEL were reversed.
- The function has always been correct.
-
- parallel.device/PDCMD_SETPARAMS parallel.device/PDCMD_SETPARAMS
-
- NAME
- SetParams -- change parameters for the parallel device
-
- FUNCTION
- This command allows the caller to change the EOFMODE parameter for
- the parallel port device. It will disallow changes if any reads or
- writes are active or queued.
-
- The PARB_EOFMODE bit of io_ParFlags controlls whether the
- io_PTermArray is to be used as an additional termination criteria
- for reads and writes. It may be set directly without a call to
- SetParams, setting it here performs the additional service of
- copying the PTermArray into the device default array which is used
- as the initial array for subsequent device opens. The Shared bit
- can be changed here, and overrides the current device access mode
- set at OpenDevice time.
-
- IO REQUEST
- io_Message mn_ReplyPort initialized
- io_Device preset by OpenDevice
- io_Unit preset by OpenDevice
- io_Command PDCMD_SETPARAMS (0A)
- NOTE that the following fields of your IORequest
- are filled by Open to reflect the parallel device's
- current configuration.
- io_PExtFlags must be set to zero, unless used
- io_ParFlags see definition in parallel.i or parallel.h
- NOTE that x00 yields exclusive access, PTermArray
- inactive.
- io_PTermArray ASCII descending-ordered 8-byte array of
- termination characters. If less than 8 chars
- used, fill out array w/lowest valid value.
- Terminators are used only if EOFMODE bit of
- io_Parflags is set. (e.g. x512F040303030303 )
- This field is filled on OpenDevice only if the
- EOFMODE bit is set.
-
- RESULTS
- io_Error -- if the SetParams succeded, then io_Error will be null.
- if the SetParams failed, then io_Error will be non-zero.
-
-